from 工程.凌云项目.XCL激励模块.基础配置.参数配置 import *

def 通道延时测试初始化():
    模块编号 = str(sys.UUTINFO[1])
    if gy参数.初始化标识 != '通道延时测试初始化'+模块编号:
        gy参数.初始化标识='通道延时测试初始化'+模块编号
    else:
        return
    gy产品.模块电源.连接()
    gy产品.模块异步串口.连接()
    gy产品.模块离散接口.连接()
    gy产品.模块CAN总线.连接()
    gy仪器.峰值功率计.连接()
    gy仪器.信号源.连接()
    gy仪器.示波器.连接()
    gy产品.射频路由.连接()
    gy方法.时间处理.延时(0.5)

    gy产品.模块CAN总线.设置发射使能('停止')
    gy仪器.信号源.射频开关('关')
    gy仪器.信号源.设置外调制源('外')
    gy仪器.信号源.设置外调制模式('开')
    gy仪器.信号源.使能脉宽调制信号输出()
    gy仪器.峰值功率计.设置测量单位('w')
    gy仪器.峰值功率计.设置平均采样次数(10)
    gy仪器.峰值功率计.设置峰值触发模式()
    gy仪器.示波器.设置水平标度(200e-9)
    gy仪器.示波器.设置水平延时(-40e-9)
    gy仪器.示波器.选择通道('ch1')
    gy仪器.示波器.选择通道('ch2')
    gy仪器.示波器.设置通道垂直标度(1,'2')
    gy仪器.示波器.设置通道垂直偏移(1,0)
    gy仪器.示波器.设置通道垂直标度(2, '0.05')
    gy仪器.示波器.设置通道垂直偏移(2, 0)
    gy仪器.示波器.设置触发源('ch1')
    gy仪器.示波器.设置触发斜率()
    gy仪器.示波器.设置触发电平(1)
    gy仪器.示波器.设置打开数学通道()
    gy仪器.示波器.数字通道设置()
    gy仪器.示波器.设置测量值打开(1)
    gy仪器.示波器.设置测量值时延()
    gy仪器.示波器.设置触发模式()
    gy仪器.示波器.设置运行()
    gy仪器.示波器.设置单次触发()

    gy产品.射频路由.接通经衰减器输出到峰值功率()
    print("通道延时测试初始化完成")

def 发射通道延时测试():
    通道延时测试初始化()
    gy仪器.信号源.射频开关('关')
    gy产品.模块电源.设置电流(gy参数.发射电流高限)
    gy产品.模块CAN总线.设置功放模式('模式1')
    gy产品.模块异步串口.设置波形模式三()  # 占空比4%
    gy产品.射频路由.接通经衰减器输出到峰值功率()
    gy产品.射频路由.接通信号源到激励()

    gy仪器.信号源.设置幅度dBm(-2 + gy参数.信号源输出补偿)
    gy仪器.信号源.设置外调制源('外')
    gy仪器.信号源.设置外调制模式('开')
    gy仪器.信号源.设置频率(1090e6)

    gy仪器.峰值功率计.设置衰减补偿(gy参数.功率计补偿)
    gy产品.模块CAN总线.设置发射使能('发射')
    gy方法.时间处理.延时(0.2)
    gy仪器.峰值功率计.设置打开测试()
    gy仪器.峰值功率计.设置幅度每格(100)
    gy仪器.峰值功率计.设置时间宽度(2e-6)
    gy仪器.峰值功率计.设置幅度中心(200)
    gy仪器.峰值功率计.设置触发延时(0)
    gy仪器.峰值功率计.设置上升沿触发()

    gy方法.时间处理.延时(1)
    gy产品.模块电源.设置电流(gy参数.发射电流高限)
    gy仪器.信号源.射频开关('开')
    gy方法.时间处理.延时(0.3)
    功率值=gy仪器.峰值功率计.读脉冲功率()
    if 功率值 > 200:
        pass
    else:
        gy仪器.信号源.射频开关('关')
        gy产品.模块异步串口.关闭波形输出()
        gy产品.模块电源.监控模块静态电流(gy参数.静态电流高限)
        return
    gy仪器.信号源.射频开关('关')
    gy产品.模块CAN总线.设置发射使能('停止')
    gy方法.时间处理.延时(0.5)
    gy产品.射频路由.接通经衰减器输出到示波器()
    gy产品.模块CAN总线.设置发射使能('发射')
    gy方法.时间处理.延时(0.5)
    gy仪器.示波器.设置运行()
    gy仪器.示波器.设置单次触发()


    gy仪器.信号源.射频开关('开')
    gy仪器.示波器.设置关闭数学通道()
    gy方法.时间处理.延时(0.5)
    gy仪器.信号源.射频开关('关')
    gy产品.模块异步串口.关闭波形输出()
    gy产品.模块电源.监控模块静态电流(gy参数.静态电流高限)

    gy仪器.示波器.设置打开数学通道()
    gy方法.时间处理.延时(1)
    发射延时=gy仪器.示波器.读测量值()*1e9-gy参数.信号源延时补偿       #不同信号源需修改此延时补偿值
    gy方法.测试结果保存.结果保存(发射延时, "")

if __name__=='__main__':
    pass
    sys.UUTINFO = [0, 1]
    发射通道延时测试()